The present invention relates to systems, methods and computer program products for implementing pattern matching capabilities within models of computing environments.
In a typical application development environment, software architects create software applications using conventional development tools. However, the development environment from which a new application is developed is often different from an operations environment, e.g., a data center, which deploys the developed applications. In this regard, architects within the operations environment are typically burdened with the responsibility of carrying the developed application into operations. However, the architects within the operations environment often do not have first-hand knowledge of the developed artifacts, e.g., the details, requirements specifications, configuration, etc., associated with the application to be deployed.
Accordingly, in a deployment planning process, computing information technology (IT) environments may be represented by semantically rich models that describe resources available within the IT environment, and further describe resource-resource relationships of the modeled resources. Modeled resources may include for example, hardware and/or software. Correspondingly, resource-resource relationships may include, for example, environment characteristics that describe the association between two or more modeled resources using descriptions such as ‘installed on’, ‘running on’, ‘dependent upon’, ‘member of’, etc. In this regard, computing environment models may be used to represent actual (existing) computing environments. Computing environment models may also be used to capture deployment patterns representing a template of a distributed IT solution, a desired state of a computing environment or aspect thereof.